I am always forgetting the particulars of this, so here is a quick reminder.
from enum import Enum
class EnumTesting(str, Enum):
a = "a"
b = "b"
a = "a"
b = "bad"
print(EnumTesting(a)) # Enumtesting.a
try:
print(EnumTesting(b))
assert False
except ValueError:
print("Got error")
print(EnumTesting[a]) # Enumtesting.a
try:
print(EnumTesting[b])
assert False
except KeyError:
print("Got error")
print(EnumTesting(EnumTesting.a)) # Enumtesting.a
print(EnumTesting[EnumTesting.a]) # Enumtesting.a