c++11 class to specify variable values as strings, in any order with the possibility of optional values