make the field unit as enum to avoid being changed by user