def METHOD_NAME(cls, model_type: ModelType, model_name: str, **model_kwargs: Any) -> InferenceModel:
    subclasses = {subclass._model_type: subclass for subclass in cls.__subclasses__()}
    if model_type not in subclasses:
        raise ValueError(f"Unsupported model type: {model_type}")
    return subclasses[model_type](model_name, **model_kwargs)