<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def set_zone(timezone):
    '''
    Sets the timezone using the tzutil.

    Args:
        timezone (str): A valid timezone

    Returns:
        bool: ``True`` if successful, otherwise ``False``

    Raises:
        CommandExecutionError: If invalid timezone is passed

    CLI Example:

    .. code-block:: bash

        salt '*' timezone.set_zone 'America/Denver'
    '''
    # if it's one of the key's just use it
    if timezone.lower() in mapper.win_to_unix:
        win_zone = timezone

    elif timezone.lower() in mapper.unix_to_win:
        # if it's one of the values, use the key
        win_zone = mapper.get_win(timezone)

    else:
        # Raise error because it's neither key nor value
        raise CommandExecutionError('Invalid timezone passed: {0}'.format(timezone))

    # Set the value
    cmd = ['tzutil', '/s', win_zone]
    res = __salt__['cmd.run_all'](cmd, python_shell=False)
    if res['retcode']:
        raise CommandExecutionError('tzutil encountered an error setting '
                                    'timezone: {0}'.format(timezone),
                                    info=res)
    return zone_compare(timezone)