from typing import Union


def _parse_string_for_bool(value: str) -> Union[bool, str]:
    """Process a string value, converting string booleans to real booleans.

    - Returns True if the value is 'True' or 'true'.
    - Returns False if the value is 'False' or 'false'.
    - Otherwise return the unaltered value.

    :param value: The value to parse.
    :return: A possible converted value.

    """
    if value.lower() == "false":
        return False

    if value.lower() == "true":
        return True

    return value