I think easiest way would be to create 2 groupX fields e.g. groupXKm or groupXMl with same storage with 2 different groups inside them, e.g. groupkilometers, groupmiles, each using appropriate distance measure (and both instances of fields using the same storages), This way fields would show different labels, but would store to the same field.
Then you can use conditional to show either groupXKm or groupXMl
Thank you Klas for your answer. Effectivly is a good solution, but in this case, if I change of criteria, all data of groupx are not kept. In my case I want keep only the first column. The user can create some entry in the Groupx and decide after to change the criteria and so when the GroupX corresponding to criteria is displayed, the value of the first column are not copied.
So, my idea was to save each GroupX in different column, launch automatically a save when user change criteria (by JS perhaps?), save context by before store and update GroupX by AfterStore. But in this case, is GroupX will be immediatly updated by data set by AfterStore? I'm aware than this solution is not very simple, perhaps there are another solution less complex, but I have no other idea at this time.;(