This is exactly why I use the value 'AreaNone' in areaType.
To stress that nor circle nor polygon is valid.
The constructor for std::string will initialize all values of ScopeCircle and ScopePolygon to the empty string.
I don't believe anything more is needed.
If so, let's create constructors for these types and put the initialization code there (they have no constructors as they only contain std::string and std::vector)