The TOC has a feature that produce check box for unique value renderer, so you can avoid creating many layers, each one for a particular type. This feature uses layer definition to manage the visibility of each unique value. It's possible that it ignored layer definition set externally. You could either try to fix it in the source code to honor externally set definition, or comment out all code that set layer definition inside the TOC.