Как разрешить вводить только указанные числа?
Советую, пока не поздно, убедить заказчика сделать выпадающим списком, иначе пользователи будут плеваться, и называть нехорошими словами всех причастных к этой глупой идее.
Можно сделать что-то вроде такого: https://jsfiddle.net/xkfyzan9/
Только нужно решить что делать с очень мелкими значениями, там где у float уже точности недостаточно.
Частичное решение https://jsfiddle.net/xkfyzan9/1/