Апишка всегда получает запрос. Именно его валидируют. А внутренняя логика, котрая уже с полученными параметрами вызывается, должна доверять этим параметрам.
можно считать, что это кастомный тип как красиво проверять, что аргумент, который заходит в метод, этого типа (одна из констант)?
Хранить в кеше массив констант и сделать в этом же классе или рядом метод, который проверяет есть ли входящий объект в этом массиве В джаве есть енам, там из коробки есть метод values который таки и инициализирует массив со всеми переменными енама при старте аппы