So cb_menulabelmedical, cb_menulabeldental, and cb_menulabelvision are just text fields? If so the below should work fine.
Code:
return [ 3 => '[cb_menulabelmedical]', 4 => '[cb_menulabeldental]', 5 => '[cb_menulabelvision]' ];
Probably even better to just directly access their user object resulting in the following.
Code:
return [ 3 => $user->getString( 'cb_menulabelmedical', '' ), 4 => $user->getString( 'cb_menulabeldental', '' ), 5 => $user->getString( 'cb_menulabelvision', '' ) ];
The way the array is structured is explained in the parameter description. Below is it again.
[ VALUE => LABEL ]
So with the above 3 is the value. Value is what is stored in the database. The user will never see the value. Label is what the user will see in the dropdown and is what they select. If Label is displaying oddly then whatever you're setting as the label would be doing that.