bpo-29298: Fix crash with required subparsers without dest (GH-3680) (GH-27303)

(cherry picked from commit 17575f73ce2cb9f3a4eb4cc416c690f9a4e7205c)

Co-authored-by: Anthony Sottile <asottile@umich.edu>
diff --git a/Lib/argparse.py b/Lib/argparse.py
index 8a12dea..e3a49e7 100644
--- a/Lib/argparse.py
+++ b/Lib/argparse.py
@@ -727,6 +727,8 @@ def _get_action_name(argument):
         return argument.metavar
     elif argument.dest not in (None, SUPPRESS):
         return argument.dest
+    elif argument.choices:
+        return '{' + ','.join(argument.choices) + '}'
     else:
         return None