def METHOD_NAME(
    info_file: Path, key_name: str, value: Union[Any, UseDefault]
) -> installable.InstallableType:
    default = installable.InstallableType.COG
    if value is USE_DEFAULT:
        return default
    if not isinstance(value, str):
        log.warning(
            "Invalid value of '%s' key (expected str, got %s)"
            " in JSON information file at path: %s",
            key_name,
            type(value).__name__,
            info_file,
        )
        return default  # NOTE: old behavior was to use InstallableType.UNKNOWN
    if value in ("", "COG"):
        return installable.InstallableType.COG
    if value == "SHARED_LIBRARY":
        return installable.InstallableType.SHARED_LIBRARY
    return installable.InstallableType.UNKNOWN