class_docstr: Metaclass for fine-grained error handling of backend enums.
class_docstr_tok: ["Metaclass","for","fine-grained","error","handling","of","backend","enums","."]
code: def __call__(
      cls,
      value,
      names=None,
      *,
      module=None,
      qualname=None,
      type=None,
      start=1,
  ):
      if names is None:
          try:
              return EnumMeta.__call__(
                  cls,
                  value,
                  names,
                  module=module,
                  qualname=qualname,
                  type=type,
                  start=start,
              )
          except ValueError:
              supported_backends = ", ".join(
                  sorted(v.value for v in cls)
              )  # pylint: disable=not-an-iterable
              raise ComponentError(
                  f"Invalid backend `{value}` for named entity extractor. "
                  f"Supported backends: {supported_backends}"
              )
      else:
          return EnumMeta.__call__(  # pylint: disable=too-many-function-args
              cls, value, names, module, qualname, type, start
          )
  
imports: from abc import ABC, abstractmethod
  from contextlib import contextmanager
  from dataclasses import dataclass
  from enum import Enum, EnumMeta
  from typing import Any, Dict, List, Optional, Union
  from ...None import ComponentError, DeserializationError, Document, component, default_from_dict, default_to_dict
  from ...lazy_imports import LazyImport
label_desc: Use image node_id 1 for calling the _BackendEnumMeta obj's underlying member method code with example usage: obj.__call__(cls, value, names) and returns: EnumMeta, EnumMeta