Update: Restructure enum non-alphabetically and detect empty version for a specified version target.
If version_target is set to something, then that something should not be empty.
Detect this requirement.
In the case of the major/minor/micro/nano versioning, having the enum match the major/minor/micro/nano order makes more sense than alphabetical.
This then allows for using the enum as a relative position when detecting if one of these is required to not be empty.