Hi Claude, No, I didn't misunderstand you, I just didn't specify my answer enough:
Enums can be assigned to their own class constants because of their special behavior, namely that enum cases are evaluated and then instantiated right away, during the compilation of the enum case. This is easily possible because enum cases are scalars and cannot refer to external things. However, you cannot do the same with class constants because the class itself has to be registered after all the validations are done, plus the global constant referring to the class has to be evaluated too. Unfortunately, I am not able to detail the problem any deeper, but I can tell you that your enum example is not applicable for class constants. Regards, Máté