Dropdown Selection Determines which 3 fields get CONCATENATED for Custom Field

Dropdown Selection Determines which 3 fields get CONCATENATED for Custom Field

We want a custom field which Concatenates 3 different fields into one, to be populated based on the dropdown value of another field.

In leads we have 3 different custom addresses:
  1. Freight Street
  2. Freight City
  3. Freight State
  4. Freight Zip
  1. Shipping Street
  2. Shipping City
  3. Shipping State
    Shipping Zip
  1. Physical Street
  2. Physical City
  3. Physical State
  4. Physical Zip
We have a Custom Field called "Primary Address" which includes a dropdown list of the three addresses above:
  1. Freight Address
  2. Shipping Address
  3. Physical Address.
We want to auto-populate a field called "Visit Address" using the address that is selected in "Primary Address", and we need it concatenated. 
  1. Concat(${Leads.Freight Street},', ',${Leads.Freight City},', ',${Leads.Freight State},' ',${Leads.Freight Zip})

So if I selected "Freight Address" in the "Primary Address" dropdown, it would automatically use the above formula to give the result of the Freight Address and place it in the "Visit Address".

Would the best way to do this be to create three concatenated formula fields using this formula? Then somehow change the value of "Visit Address" to match the value that "Primary Address" refers to?