Вывод локализованных значений для Enum-полей

Добрый день!
Шаблон отчета в XLSX
Отчет по нескольким сущностям с JPQL запросом.
У сущности есть перечисляемое (enum) поле, для которого заданы локализованные значения(messages) и надо вывести это локализованное значение в отчет.

Предполагал, что можно использовать раздел форматирования значений через Groovy, но там не доступен applicationContext, для получения доступа к бину Messages и не доступен даже params, а только переменная value.

Есть вариант создания Groovy датасета, выполнения в нем запроса JPQL и преобразованию результата с нужными значениями, но полей и строк много и не хотелось бы этим заниматься.

Как вывести это локализованное значение в отчет?

Добрый день!

Единственный вариант, который приходит в голову - это использовать функцию CASE в запросе. Т.е. будет что-то типа

select
e.name as "name",
case e.type when 'I' then 'Individual' 
when 'C' then 'Company' 
else e.type end as "type"
from Customer e

Завёл тикет на задачу на возможность использования applicationContext в скриптах для форматирования.

Максим, спасибо.
Что-то подобное я уже сделал, но в Groovy для форматирования значения через switch.
Есть проблемы синхронизации значений в messages и отчетах, а также определения текущего языка.