Close #18635: Move class level private attribute from instance to class.
diff --git a/Lib/enum.py b/Lib/enum.py
index 33af042..34eb7b8 100644
--- a/Lib/enum.py
+++ b/Lib/enum.py
@@ -127,6 +127,7 @@
         enum_class = super().__new__(metacls, cls, bases, classdict)
         enum_class._member_names_ = []               # names in definition order
         enum_class._member_map_ = OrderedDict()      # name->value map
+        enum_class._member_type_ = member_type
 
         # Reverse value->name map for hashable values.
         enum_class._value2member_map_ = {}
@@ -159,7 +160,6 @@
                 if not hasattr(enum_member, '_value_'):
                     enum_member._value_ = member_type(*args)
             value = enum_member._value_
-            enum_member._member_type_ = member_type
             enum_member._name_ = member_name
             enum_member.__init__(*args)
             # If another member with the same value was already defined, the