CF-a determins the value of CF-b? Field Mapping?

How can I create two fields that are linked/mapped to one another? Here is my specific need:

CF-Building is a ‘select one value from a list’ field. We’d like to add a ‘building code’ field that is set based on the value of the CF-Building field.

If an Asset has CF-Building = “Eliot Hall” then the CF-Building-Code = “E”.

I don’t need/want the CF-Building-Code field to be editable. It’s just information that can be displayed on screen or returned via the api.

Ideally this would apply to existing Assets that already have a CF-Building set and not just be a script that sets ‘field b’ whenever ‘field a’ gets modified.

What are my options for making this happen?

If you create a custom field of type “select one” or “select multiple” and have a second custom field also of one of those types then you can select the “Categories are based on” drop-down for custom field A and base it on values from custom field B