EnumEntrys are special in that they depend on their parent Enumeration. Non-inline EnumEntrys always had issues in the GenICam GenApi and are forbidden since version 3. Thus you need a “None”-entry for each of your Enumerations.
As they depend on their parent, the GenApi takes care of it and produces a dependent name. So no clashes here. As for your work: Just create a function returning a newly created “None” node which you then add to the Enumeration-nodes.