The Compiler does not issue any warnings and the project compiles fine.
As
TRon remarked, by default the enum values are declared both locally and globally. In your example
tcc__One is visible both as
UnitName.tcc__One and
UnitName.TTest.TChoise.tcc__One with the later only being usable inside of
TTest_class (and - as it is not declared as
strict private - inside the same unit). With the
{$ScopedEnums On} directive you can disable the generation of the global symbol, which means that you
must use
TChoise.tcc__One then.