Да как угодно вообще, не вижу проблем. Можно с маппингом имен из DSL к индексам, можно прямо по индексам, можно через compile-time довесок какой-нибудь со стороны C++. Само "поле" обязано быть подразбито на дата-атомики без вариантов, разумеется, в данном случае, либо быть сырым буфером.
А что дальше с этим значением нужно делать? Можно переделать FOR так, чтобы он не возвращал значения сам, а принимал generic лямбду, которая уже что-то полезное сделает. Как-то так https://godbolt.org/z/W75rfqzvx