Вот эту огромную портянку ниже можно сократить, применив следующий трюк. Сначала все конвертируем например в метры, а потом в требуемые единицы измерения.

Кроме того, полезно завести так называемую look-up table. Тогда по сути в ней можно будет брать по индексу (который есть ваш enum) соответствующий множитель. Только никаких switch вообще не будет, а все схлопнется в одну строку. Идея понятна?