メタクラスを使って数値定義不要のEnumを作る
ImplicitEnumクラスを継承したEnumは数値定義不要とする
class ImplicitEnum(Enum, metaclass=ImplicitEnumMeta):
class ImplicitEnumMeta(EnumMeta):
__prepare__でクラスの名前空間を返す
EnumDefaultDictを返す
class EnumDefaultDict(_EnumDict):
__missing__名前空間のdictの中にkeyの名前がなかったら1とする
メンバーの値を全部同じ1にする実装
なので、定義したEnumをlistに渡すとバグる(数値定義不要のEnumでは、そういう使い方を想定していないのだと思う)