currently
is not considered equivalent to
sealed trait A; object A { case object AA extends A }
but probably should be
i would suggest changing isObject macro to
Expr(TypeRepr.of[T].typeSymbol.flags.is(Flags.Module) || Expr(TypeRepr.of[T].typeSymbol.flags.is(Flags.Enum | Flags.Abstract)))
or adding a separate field to CaseClass like isEnumValue