<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_trunk_groups(self, intf, value=None, default=False, disable=False):
 """Configures the switchport trunk group value Args: intf (str):
 The interface identifier to configure. value (str):
 The set of values to configure the trunk group default (bool):
 Configures the trunk group default value disable (bool):
 Negates all trunk group settings Returns: True if the config operation succeeds otherwise False """

        if default:
            cmd = 'default switchport trunk group'
            return self.configure_interface(intf, cmd)

        if disable:
            cmd = 'no switchport trunk group'
            return self.configure_interface(intf, cmd)

        current_value = self.get(intf)['trunk_groups']
        failure = False

        value = make_iterable(value)

        for name in set(value).difference(current_value):
            if not self.add_trunk_group(intf, name):
                failure = True

        for name in set(current_value).difference(value):
            if not self.remove_trunk_group(intf, name):
                failure = True

        return not failure