code: def listChoices(self, category, libtype=None, **kwargs):
          
          # TODO: Should this be moved to base?
          if category in kwargs:
              raise BadRequest('Cannot include kwarg equal to specified category: %s' % category)
          args = {}
          for subcategory, value in kwargs.items():
              args[category] = self._cleanSearchFilter(subcategory, value)
          if libtype is not None:
              args['type'] = utils.searchType(libtype)
          key = '/library/sections/%s/%s%s' % (self.key, category, utils.joinArgs(args))
          return self.fetchItems(key, cls=FilterChoice)
docs: Returns a list of :class:`~plexapi.library.FilterChoice` objects for the
              specified category and libtype. kwargs can be any of the same kwargs in
              :func:`plexapi.library.LibraySection.search()` to help narrow down the choices
              to only those that matter in your current context.
  
              Parameters:
                  category (str): Category to list choices for (genre, contentRating, etc).
                  libtype (int): Library type of item filter.
                  **kwargs (dict): Additional kwargs to narrow down the choices.
  
              Raises:
                  :class:`plexapi.exceptions.BadRequest`: Cannot include kwarg equal to specified category.