A recent PR in typeshed has exposed a bug in pyright's handling of circular dependencies between classes. See this thread for details.
The ReprEnum class derives from Enum which uses the metaclass EnumMeta. The EnumMeta has a __new__ method that describes a keyword parameter boundary of type FlagBoundary. This type derives from StrEnum which derives from ReprEnum, and we're back to the start.