Currently Sema::ClassifyName(...) in some cases when an enumerator is brought into scope via using enum during lookup it can end up being classified as an OverloadSet. It looks like this was never accounted for when using enum support was implemented and we need to add a check to allow an EnumConstantDecl to be classified as NonType even when it is a class member.
This fixes:
https://github.com/llvm/llvm-project/issues/58057
https://github.com/llvm/llvm-project/issues/59014
https://github.com/llvm/llvm-project/issues/54746
This change looks correct to me -- enum constants are class members but are certainly not forming an overload set!
Did you audit the other places we call isCXXClassMember() to ensure they're sensible regarding enum constant declarations?