Я не уверен на 100%, сработает ли это, но вы можете объявить метод static T valueOf(String)
в своем перечислении, чтобы переопределить реализацию по умолчанию на метод, который возвращает нулевое значение для неизвестных значений вместо IllegalArgumentException.
Документация предполагает, что будет использоваться переопределенная статическая реализация.
Тогда это зависит только от того, как Gson обработает результаты этого метода (при условии, что Gson даже использует этот метод для синтаксического анализа), ноэто простой обходной путь, который может стоить того.