You might want to look into a library like clap for making a good CLI. I have found it to be very convenient. It will get you decent validations out of the box rather than having to parse the command line manually.
In terms of readability, I'm not sure why you use a nested enum, but it might be the right choice. It just doesn't seem to be represented in your command line if you just take "get". I would have expected to see maybe get_note or cmd note get if there are other contexts than note.