diff --git a/mypy/erasetype.py b/mypy/erasetype.py
--- a/mypy/erasetype.py
+++ b/mypy/erasetype.py
@@ -1,10 +1,10 @@
-from typing import Optional, Container, Callable
+from typing import Optional, Container, Callable, List, Dict, cast
 
 from mypy.types import (
     Type, TypeVisitor, UnboundType, AnyType, NoneType, TypeVarId, Instance, TypeVarType,
     CallableType, TupleType, TypedDictType, UnionType, Overloaded, ErasedType, PartialType,
     DeletedType, TypeTranslator, UninhabitedType, TypeType, TypeOfAny, LiteralType, ProperType,
-    get_proper_type, TypeAliasType, ParamSpecType
+    get_proper_type, get_proper_types, TypeAliasType, ParamSpecType
 )
 from mypy.nodes import ARG_STAR, ARG_STAR2
 
@@ -161,3 +161,34 @@ def visit_type_alias_type(self, t: TypeAliasType) -> Type:
         # Type aliases can't contain literal values, because they are
         # always constructed as explicit types.
         return t
+
+    def visit_union_type(self, t: UnionType) -> Type:
+        new = cast(UnionType, super().visit_union_type(t))
+        # Erasure can result in many duplicate items; merge them.
+        # Call make_simplified_union only on lists of instance types
+        # that all have the same fullname, to avoid simplifying too
+        # much.
+        instances = [item for item in new.items
+                     if isinstance(get_proper_type(item), Instance)]
+        # Avoid merge in simple cases such as optional types.
+        if len(instances) > 1:
+            instances_by_name: Dict[str, List[Instance]] = {}
+            new_items = get_proper_types(new.items)
+            for item in new_items:
+                if isinstance(item, Instance) and not item.args:
+                    instances_by_name.setdefault(item.type.fullname, []).append(item)
+            merged: List[Type] = []
+            for item in new_items:
+                if isinstance(item, Instance) and not item.args:
+                    types = instances_by_name.get(item.type.fullname)
+                    if types is not None:
+                        if len(types) == 1:
+                            merged.append(item)
+                        else:
+                            from mypy.typeops import make_simplified_union
+                            merged.append(make_simplified_union(types))
+                            del instances_by_name[item.type.fullname]
+                else:
+                    merged.append(item)
+            return UnionType.make_union(merged)
+        return new

diff --git a/mypy/test/testtypes.py b/mypy/test/testtypes.py
--- a/mypy/test/testtypes.py
+++ b/mypy/test/testtypes.py
@@ -3,7 +3,7 @@
 from typing import List, Tuple
 
 from mypy.test.helpers import Suite, assert_equal, assert_type, skip
-from mypy.erasetype import erase_type
+from mypy.erasetype import erase_type, remove_instance_last_known_values
 from mypy.expandtype import expand_type
 from mypy.join import join_types, join_simple
 from mypy.meet import meet_types, narrow_declared_type
@@ -11,7 +11,8 @@
 from mypy.indirection import TypeIndirectionVisitor
 from mypy.types import (
     UnboundType, AnyType, CallableType, TupleType, TypeVarType, Type, Instance, NoneType,
-    Overloaded, TypeType, UnionType, UninhabitedType, TypeVarId, TypeOfAny, get_proper_type
+    Overloaded, TypeType, UnionType, UninhabitedType, TypeVarId, TypeOfAny, ProperType,
+    get_proper_type
 )
 from mypy.nodes import ARG_POS, ARG_OPT, ARG_STAR, ARG_STAR2, CONTRAVARIANT, INVARIANT, COVARIANT
 from mypy.subtypes import is_subtype, is_more_precise, is_proper_subtype
@@ -1092,3 +1093,46 @@ def assert_simple_is_same(self, s: Type, t: Type, expected: bool, strict: bool)
                          '({} == {}) is {{}} ({{}} expected)'.format(s, t))
             assert_equal(hash(s) == hash(t), expected,
                          '(hash({}) == hash({}) is {{}} ({{}} expected)'.format(s, t))
+
+
+class RemoveLastKnownValueSuite(Suite):
+    def setUp(self) -> None:
+        self.fx = TypeFixture()
+
+    def test_optional(self) -> None:
+        t = UnionType.make_union([self.fx.a, self.fx.nonet])
+        self.assert_union_result(t, [self.fx.a, self.fx.nonet])
+
+    def test_two_instances(self) -> None:
+        t = UnionType.make_union([self.fx.a, self.fx.b])
+        self.assert_union_result(t, [self.fx.a, self.fx.b])
+
+    def test_multiple_same_instances(self) -> None:
+        t = UnionType.make_union([self.fx.a, self.fx.a])
+        assert remove_instance_last_known_values(t) == self.fx.a
+        t = UnionType.make_union([self.fx.a, self.fx.a, self.fx.b])
+        self.assert_union_result(t, [self.fx.a, self.fx.b])
+        t = UnionType.make_union([self.fx.a, self.fx.nonet, self.fx.a, self.fx.b])
+        self.assert_union_result(t, [self.fx.a, self.fx.nonet, self.fx.b])
+
+    def test_single_last_known_value(self) -> None:
+        t = UnionType.make_union([self.fx.lit1_inst, self.fx.nonet])
+        self.assert_union_result(t, [self.fx.a, self.fx.nonet])
+
+    def test_last_known_values_with_merge(self) -> None:
+        t = UnionType.make_union([self.fx.lit1_inst, self.fx.lit2_inst, self.fx.lit4_inst])
+        assert remove_instance_last_known_values(t) == self.fx.a
+        t = UnionType.make_union([self.fx.lit1_inst,
+                                  self.fx.b,
+                                  self.fx.lit2_inst,
+                                  self.fx.lit4_inst])
+        self.assert_union_result(t, [self.fx.a, self.fx.b])
+
+    def test_generics(self) -> None:
+        t = UnionType.make_union([self.fx.ga, self.fx.gb])
+        self.assert_union_result(t, [self.fx.ga, self.fx.gb])
+
+    def assert_union_result(self, t: ProperType, expected: List[Type]) -> None:
+        t2 = remove_instance_last_known_values(t)
+        assert type(t2) is UnionType
+        assert t2.items == expected
diff --git a/mypy/test/typefixture.py b/mypy/test/typefixture.py
--- a/mypy/test/typefixture.py
+++ b/mypy/test/typefixture.py
@@ -157,9 +157,11 @@ def make_type_var(name: str, id: int, values: List[Type], upper_bound: Type,
         self.lit1 = LiteralType(1, self.a)
         self.lit2 = LiteralType(2, self.a)
         self.lit3 = LiteralType("foo", self.d)
+        self.lit4 = LiteralType(4, self.a)
         self.lit1_inst = Instance(self.ai, [], last_known_value=self.lit1)
         self.lit2_inst = Instance(self.ai, [], last_known_value=self.lit2)
         self.lit3_inst = Instance(self.di, [], last_known_value=self.lit3)
+        self.lit4_inst = Instance(self.ai, [], last_known_value=self.lit4)
 
         self.type_a = TypeType.make_normalized(self.a)
         self.type_b = TypeType.make_normalized(self.b)
diff --git a/test-data/unit/check-enum.test b/test-data/unit/check-enum.test
--- a/test-data/unit/check-enum.test
+++ b/test-data/unit/check-enum.test
@@ -1868,3 +1868,17 @@ class WithOverload(enum.IntEnum):
 class SubWithOverload(WithOverload):  # Should pass
     pass
 [builtins fixtures/tuple.pyi]
+
+[case testEnumtValueUnionSimplification]
+from enum import IntEnum
+from typing import Any
+
+class C(IntEnum):
+    X = 0
+    Y = 1
+    Z = 2
+
+def f1(c: C) -> None:
+    x = {'x': c.value}
+    reveal_type(x)  # N: Revealed type is "builtins.dict[builtins.str*, builtins.int]"
+[builtins fixtures/dict.pyi]

Unexpected type inference changes related to enum value attributes
In this example, the behavior changed in #11962:
```py
from enum import IntEnum
from typing import Any

class C(IntEnum):
    X = 0
    Y = 1
    Z = 2

def f1(c: C) -> None:
    x = {'x': c.value}
    # Old: builtins.dict[builtins.str*, builtins.int*]
    # New: builtins.dict[builtins.str*, Union[builtins.int, builtins.int, builtins.int]]
    reveal_type(x)

def f2(c: C, a: Any) -> None:
    x = {'x': c.value, 'y': a}
    # Old: builtins.dict[builtins.str*, Any]
    # New: builtins.dict[builtins.str*, Union[Any, builtins.int, builtins.int, builtins.int]]
    reveal_type(x)
```

These seem like regressions. The duplicate int types in unions seem like an unrelated issue that #11962 exposed. In some cases it can result in unions with dozens of items, which look pretty confusing. I'm not sure yet whether the second change is an issue with #11962 or something else.

mypy/test/testtypes.py::TypesSuite::test_any mypy/test/testtypes.py::TypesSuite::test_callable_type_with_var_args mypy/test/testtypes.py::TypesSuite::test_simple_unbound_type mypy/test/testtypes.py::TypesSuite::test_generic_function_type mypy/test/testtypes.py::TypesSuite::test_callable_type mypy/test/testtypes.py::TypesSuite::test_callable_type_with_default_args mypy/test/testtypes.py::TypesSuite::test_indirection_no_infinite_recursion mypy/test/testtypes.py::TypesSuite::test_generic_unbound_type mypy/test/testtypes.py::TypesSuite::test_type_variable_binding mypy/test/testtypes.py::TypesSuite::test_type_alias_expand_once mypy/test/testtypes.py::TypesSuite::test_type_alias_expand_all mypy/test/testtypes.py::TypeOpsSuite::test_erase_with_generic_type_recursive mypy/test/testtypes.py::TypesSuite::test_tuple_type mypy/test/testtypes.py::TypeOpsSuite::test_erase_with_type_variable mypy/test/testtypes.py::TypeOpsSuite::test_empty_tuple_always_false mypy/test/testtypes.py::TypeOpsSuite::test_erase_with_function_type mypy/test/testtypes.py::TypeOpsSuite::test_erase_with_generic_type mypy/test/testtypes.py::TypeOpsSuite::test_false_only_of_instance mypy/test/testtypes.py::TypeOpsSuite::test_erase_with_type_type mypy/test/testtypes.py::TypeOpsSuite::test_erase_with_tuple_type mypy/test/testtypes.py::TypeOpsSuite::test_false_only_of_false_type_is_idempotent mypy/test/testtypes.py::TypeOpsSuite::test_expand_basic_generic_types mypy/test/testtypes.py::TypeOpsSuite::test_is_more_precise mypy/test/testtypes.py::TypeOpsSuite::test_is_proper_subtype_covariance mypy/test/testtypes.py::TypeOpsSuite::test_erase_with_type_object mypy/test/testtypes.py::TypeOpsSuite::test_false_only_tuple mypy/test/testtypes.py::TypeOpsSuite::test_expand_naked_type_var mypy/test/testtypes.py::TypeOpsSuite::test_is_proper_subtype_contravariance mypy/test/testtypes.py::TypeOpsSuite::test_false_only_of_true_type_is_uninhabited mypy/test/testtypes.py::TypeOpsSuite::test_simplified_union mypy/test/testtypes.py::TypeOpsSuite::test_is_proper_subtype mypy/test/testtypes.py::TypeOpsSuite::test_subtype_aliases mypy/test/testtypes.py::TypeOpsSuite::test_is_proper_subtype_invariance mypy/test/testtypes.py::TypeOpsSuite::test_true_only_of_false_type_is_uninhabited mypy/test/testtypes.py::TypeOpsSuite::test_false_only_of_union mypy/test/testtypes.py::TypeOpsSuite::test_trivial_expand_recursive mypy/test/testtypes.py::TypeOpsSuite::test_union_can_be_false_if_any_false mypy/test/testtypes.py::TypeOpsSuite::test_is_proper_subtype_and_subtype_literal_types mypy/test/testtypes.py::TypeOpsSuite::test_trivial_erase mypy/test/testtypes.py::TypeOpsSuite::test_true_only_of_union mypy/test/testtypes.py::TypeOpsSuite::test_true_only_of_instance mypy/test/testtypes.py::TypeOpsSuite::test_union_can_not_be_true_if_none_true mypy/test/testtypes.py::TypeOpsSuite::test_nonempty_tuple_always_true mypy/test/testtypes.py::TypeOpsSuite::test_union_can_be_true_if_any_true mypy/test/testtypes.py::JoinSuite::test_any_type mypy/test/testtypes.py::JoinSuite::test_generics_with_multiple_args mypy/test/testtypes.py::JoinSuite::test_callables_with_any mypy/test/testtypes.py::JoinSuite::test_overloaded_with_any mypy/test/testtypes.py::JoinSuite::test_class_subtyping mypy/test/testtypes.py::TypeOpsSuite::test_trivial_expand mypy/test/testtypes.py::JoinSuite::test_simple_generics mypy/test/testtypes.py::TypeOpsSuite::test_true_only_of_true_type_is_idempotent mypy/test/testtypes.py::JoinSuite::test_function_types mypy/test/testtypes.py::JoinSuite::test_literal_type mypy/test/testtypes.py::JoinSuite::test_mixed_truth_restricted_type mypy/test/testtypes.py::JoinSuite::test_simple_type_objects mypy/test/testtypes.py::TypeOpsSuite::test_union_can_not_be_false_if_none_false mypy/test/testtypes.py::JoinSuite::test_trivial_cases mypy/test/testtypes.py::JoinSuite::test_generic_types_and_any mypy/test/testtypes.py::MeetSuite::test_callables_with_dynamic mypy/test/testtypes.py::JoinSuite::test_mixed_truth_restricted_type_simple mypy/test/testtypes.py::JoinSuite::test_tuples mypy/test/testtypes.py::JoinSuite::test_generics_contravariant mypy/test/testtypes.py::MeetSuite::test_class_subtyping mypy/test/testtypes.py::JoinSuite::test_none mypy/test/testtypes.py::MeetSuite::test_dynamic_type mypy/test/testtypes.py::JoinSuite::test_generics_covariant mypy/test/testtypes.py::JoinSuite::test_other_mixed_types mypy/test/testtypes.py::MeetSuite::test_function_types mypy/test/testtypes.py::JoinSuite::test_type_type mypy/test/testtypes.py::JoinSuite::test_generics_invariant mypy/test/testtypes.py::MeetSuite::test_generic_types_and_dynamic mypy/test/testtypes.py::JoinSuite::test_type_vars mypy/test/testtypes.py::JoinSuite::test_generics_with_inheritance mypy/test/testtypes.py::MeetSuite::test_generics_with_inheritance mypy/test/testtypes.py::JoinSuite::test_overloaded mypy/test/testtypes.py::MeetSuite::test_generics_with_inheritance_and_shared_supertype mypy/test/testtypes.py::MeetSuite::test_literal_type mypy/test/testtypes.py::JoinSuite::test_generics_with_inheritance_and_shared_supertype mypy/test/testtypes.py::MeetSuite::test_generics_with_multiple_args mypy/test/testtypes.py::MeetSuite::test_meet_class_types_with_shared_interfaces mypy/test/testtypes.py::MeetSuite::test_meet_interface_and_class_types mypy/test/testtypes.py::MeetSuite::test_meet_interface_types mypy/test/testtypes.py::MeetSuite::test_none mypy/test/testtypes.py::MeetSuite::test_simple_generics mypy/test/testtypes.py::MeetSuite::test_trivial_cases mypy/test/testtypes.py::JoinSuite::test_unbound_type mypy/test/testtypes.py::RemoveLastKnownValueSuite::test_optional mypy/test/testtypes.py::RemoveLastKnownValueSuite::test_single_last_known_value mypy/test/testtypes.py::JoinSuite::test_var_tuples mypy/test/testtypes.py::RemoveLastKnownValueSuite::test_two_instances mypy/test/testtypes.py::MeetSuite::test_tuples mypy/test/testtypes.py::MeetSuite::test_type_type mypy/test/testtypes.py::MeetSuite::test_type_vars mypy/test/testtypes.py::MeetSuite::test_unbound_type mypy/test/testtypes.py::SameTypeSuite::test_literal_type mypy/test/testtypes.py::RemoveLastKnownValueSuite::test_generics mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumFromEnumMetaBasics mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumBasics mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumFromEnumMetaSubclass mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumValueSomeAuto mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumFromEnumMetaGeneric mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumValueExtraMethods mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testNamedTupleEnum mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumCreatedFromStringLiteral mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumNameAndValue mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumCall mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumValueCustomAuto mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumValueExtended mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumIndex mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumCreatedFromFinalValue mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumValueInhomogenous mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumIndexError mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testIntEnum_assignToIntVariable mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumValueSameType mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumValueAllAuto mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumIndexIsNotAnAlias mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testIntEnum_functionTakingIntEnum mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testGenericEnum mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumUnique mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testIntEnum_functionTakingInt mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testFunctionalEnumString mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testFunctionalEnumErrors mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumFlag mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testIntEnum_functionReturningIntEnum mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testFunctionalEnumListOfStrings mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumIntFlag mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testFunctionalEnumFlag mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumMethods mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testFunctionalEnumListOfPairs mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testAnonymousEnum mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testAnonymousFunctionalEnum mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testFunctionalEnumDict mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testIntEnum_ExtendedIntEnum_functionTakingExtendedIntEnum mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumKeywordsArgs mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumInClassBody mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testFunctionalEnumProtocols mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testFunctionalEnumInClassBody mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumWorkWithForward mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumIncremental mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumReachabilityWithNone mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumReachabilityChecksBasic mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumWorkWithForward2 mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumAuto mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumReachabilityWithMultipleEnums mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumReachabilityPEP484ExampleWithMultipleValues mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumReachabilityChecksWithOrdering mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumReachabilityPEP484ExampleWithFinal mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumAttributeAccessMatrix mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumReachabilityChecksIndirect mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumReachabilityPEP484ExampleSingleton mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testAssignEnumAsAttribute mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumAttributeChangeIncremental mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumReachabilityNoNarrowingForUnionMessiness mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumReachabilityWithChaining mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumReachabilityPEP484ExampleSingletonWithMethod mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testPrivateAttributeNotAsEnumMembers mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumReachabilityWithChainingDirectConflict mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumWithInstanceAttributes mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testNewSetsUnexpectedValueType mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumReachabilityWithChainingDisjoint mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumTypeCompatibleWithLiteralUnion mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumReachabilityWithChainingBigDisjoints mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumNarrowedToTwoLiterals mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testValueTypeWithNewInParentClass mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testIntEnumWithNewTypeValue mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumFinalValues mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumFinalValuesCannotRedefineValueProp mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumReusedKeys mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumReusedKeysOverlapWithLocalVar mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumImplicitlyFinalForSubclassing mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumExplicitlyAndImplicitlyFinal mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testSubclassingNonFinalEnums mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumFinalSubtypingEnumMetaSpecialCase mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumFinalSubtypingOverloadedSpecialCase mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumFinalSubtypingMethodAndValueSpecialCase mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testFinalEnumWithClassDef mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumNotFinalWithMethodsAndUninitializedValues mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumNotFinalWithMethodsAndUninitializedValuesStub mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumLiteralValues mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testFinalWithPrivateAssignment mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumFinalSpecialProps mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testFinalWithSunderAssignment mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testFinalWithDunderAssignment mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testFinalWithMethodAssignment
mypy/test/testtypes.py::RemoveLastKnownValueSuite::test_multiple_same_instances mypy/test/testtypes.py::RemoveLastKnownValueSuite::test_last_known_values_with_merge mypy/test/testcheck.py::TypeCheckSuite::check-enum.test::testEnumtValueUnionSimplification