If you force the order you don't need the 'value' since it corresponds to the index. You could also force uniform memory access by doing
```C++
const char* axesNames = "x\0\0\0\0\0\0\0\0\0"
                                       "y\0\0\0\0\0\0\0\0\0"
                                       "z\0\0\0\0\0\0\0\0\0"
                                       "rho\0\0\0\0\0\0\0"
                                       "radial3D\0\0"
                                       "phi\0\0\0\0\0\0\0"
                                       "undefined\0"
                                       "\0";
```
Then your data all easily fits in cache and you can go from one entry to the next just by doing a `+10`. Of course that is way over-engineering :)