As of this post date, if you download the Enumeration Example on Autodesk’s WikiHelp page you will find that it doesn’t work when used in Civil 3D. It does show correctly in the Subassembly Composer (SAC). Unfortunately Civil 3D is unable to convert the enumeration value to a string when used in a decision or switch. To overcome this deficiency a variable needs to defined that converts the value and then use the value in the switch or decision.
To create a variable use the Define Variable under Miscellaneous in SAC.
Next use a series of If/Then statements to convert the enumeration to string values.
Then change the switch value from what it was to the new variable name, in this case BarrierTypeString.
Now the subassembly will behave as expected.