Just to clarify, enum constants *can* contain cases, but they don't *have* to; other constant values are legitimate - including cases of other Enumerations.
<?php
enum Suit
{
case Hearts;
case Clubs;
case Spades;
case Diamonds;
public const Card = Size::Large; // A case from a different enum
}
enum Size
{
case Small;
case Medium;
case Large;
public const Scale = 297/210; // A float
}
echo Suit::Diamonds::Card::Scale; // Getting the constant Scale from the constant Card in a Suit.
?>