docs: def _normalize_sort_SQL(self, field_name, field_vals, sort_dir_str):
          """
          allow sorting by a set of values
  
          http://stackoverflow.com/questions/3303851/sqlite-and-custom-order-by
          """
          fvi = None
          if sort_dir_str == 'ASC':
              fvi = (t for t in enumerate(field_vals)) 
  
          else:
              fvi = (t for t in enumerate(reversed(field_vals))) 
  
          query_sort_str = ['  CASE {}'.format(self._normalize_name(field_name))]
          query_args = []
          for i, v in fvi:
              query_sort_str.append('    WHEN {} THEN {}'.format(self.val_placeholder, i))
              query_args.append(v)
  
          query_sort_str.append('  END')
          query_sort_str = "\n".join(query_sort_str)
          return query_sort_str, query_args