That second one really seemed to miss the point of non-binary and thought they could get around it by just using the gender binary multiple time.
I think the proper solution is to create an abstract gender class and leave it to the user to implement their specific gender.