Check this sample: ``` <?php use MyCLabs\Enum\Enum; class Enum1 extends Enum { const A1 = 'A1'; const A2 = 'A2'; } class Enum2 extends Enum1 { const A3 = 'A3'; } $e2 = new Enum2('A3'); $e1 = new Enum1($e2); echo $e1 . \PHP_EOL; ``` Expected exception, instead got A3 printed. ``` new Enum1('A3'); ``` throws as expected.