code: def set_trunk_groups(self, vid, value=None, default=False, disable=False):
          
          if default:
              return self.configure_vlan(vid, 'default trunk group')
          if disable:
              return self.configure_vlan(vid, 'no trunk group')
  
          current_value = self.get(vid)['trunk_groups']
          failure = False
  
          value = make_iterable(value)
  
          for name in set(value).difference(current_value):
              if not self.add_trunk_group(vid, name):
                  failure = True
  
          for name in set(current_value).difference(value):
              if not self.remove_trunk_group(vid, name):
                  failure = True
  
          return not failure
docs: Configures the list of trunk groups support on a vlan
  
          This method handles configuring the vlan trunk group value to default
          if the default flag is set to True.  If the default flag is set
          to False, then this method will calculate the set of trunk
          group names to be added and to be removed.
  
          EosVersion:
              4.13.7M
  
          Args:
              vid (str): The VLAN ID to configure
              value (str): The list of trunk groups that should be configured
                  for this vlan id.
              default (bool): Configures the trunk group value to default if
                  this value is true
              disable (bool): Negates the trunk group value if set to true
  
          Returns:
              True if the operation was successful otherwise False