code: def view_all_tags(ctx, param, value):
      
      # To make sure this function executed only when the flag was called
      if not value or ctx.resilient_parsing:
          return
      avail_tags = dict()
      print("\nMultiQC Available module tag groups:\n")
      for mod_dict in filter(lambda mod:isinstance(mod, dict), config.module_order):
          mod_key, mod_val = list(mod_dict.items())[0]
          tags = list(mod_val.get('module_tag', []))
          for t in tags:
              if t not in avail_tags:
                  avail_tags[t] = []
              avail_tags[t].append(mod_key)
      for t in sorted(avail_tags.keys(), key=lambda s: s.lower()):
          print (" - {}:".format(t))
          for ttgs in avail_tags[t]:
              print ("   - {}".format(ttgs))
      ctx.exit()
docs: List available tags and associated modules
      Called by eager click option: --view-tags