If a choice def has an “of” value, such as pipeFluid where “of” is the fluid def, the choice values are all descendants of that “of” def. Otherwise, the choice values are simply
the descendants of the choice def.

The choice def is added as a BDynamicEnum tag with the choice values included in the value’s BEnumRange. Tag rules are added to imply the corresponding choice value tag based on the selected enum value.
For example, if the pipeFluid tag on a component is set to “water,” a water marker tag will be implied on that component.