Enum with mixin class: weird behavior (bug?)

# for quick test you can just copy/paste it here https://www.programiz.com/python-programming/online-compiler/

from enum import Enum, auto


class MyClass:
    def __init__(self, slot: str):
        self.slot = slot


class MyObjEnum(MyClass, Enum):
    def _generate_next_value_(slot: str, *args) -> MyClass:
        return MyClass(slot)


class MyEnum(MyObjEnum):
    foo = auto()
    bar = auto()


assert isinstance(MyEnum.foo, MyClass)  # OK
print(type(MyEnum.foo.slot))
# prints  <class '__main__.MyClass'>, but it must be <class 'str'>!

print(type(MyEnum.foo.value.slot))
# <class 'str'> in py39 - OK,  but it is <class '__main__.MyClass'> in py3.11 !!!