theres a lot of way you can do what you want...
you can either make a lot of booleans, few booleans per character, that would be called something like "active" and "highlight", and whatever else you want to do with character... and then turn them true/false accordingly..
or you can have what you said. have 1 string variable "selected character" . then you have some emptygameobject called "character management" or whatever name you want it... and on there have FSM, that in the first state, it has action called "string switch" and in there you compare string variable, with all possibilities of the characters...
lets say they would be called: soldier, mechanic, pilot. so you would compare it to this 3 things, and then fire events based on that, and do stuff there... if you had soldier event fired, then you would for example have next state where you would disable highlight on mechanic and pilot... and so on
the same example i've shown you actually uses this too... it is part of AI traffic, for bus simulation. and checks what is the name of the path that just ended, so that it can put AI car onto the next path that follows it...
i just hope you were asking about that