The UICustomize classes (UICustomize_Info, UICustomize_Menu, UICustomize_Props) need a hook in UpdateData to allow mods to add custom entries, similar to #164.
XComCharacterCustomization is a bridge between UI and content, and needs to be expanded to handle custom categories. In the base game, this is communicated via an enum, EUICustomizeCategory, but ut's always passed as an int (not that it matters much, enum = byte). Effectively, the only place where this enum matters is XComCharacterCustomization.
Thus, mods can just use custom indizes, provided XComCharacterCustomization uses callbacks if it doesn't know what to do with a given index (it wouldn't hurt to also call these if the index is a base game one, for moddability).
A centralized place to distribute indizes to mods would be needed to make it easier for mods to add new parts without conflicting.