(PUP-3366) Correct comparisson of Enum > Enum[a]

Comparissons involving an unparentesized Enum were not correct
because an iteration with all? returns true if the set being
enumerated is empty.

This modifies the logic, and adds missing tests.