Getting rid of the Enum requirement on EnumeratedTrait (and children)