input: from typing import List
  
  def extract_parentheses_groups(paren_string: str) -> List[str]:
      """ This function takes a string with several nested parentheses groups as input. The objective is to
      split these groups into individual strings and return them as a list.
      Each group is balanced, meaning every open parenthesis has a corresponding close parenthesis, and the
      groups themselves are not nested within one another.
      Ignore any spaces present in the input string.
      >>> extract_parentheses_groups('( ) (( )) (( )( ))')
      ['()', '(())', '(()())']
      """
output:     
      result = []
      current_group = []
      balance = 0
  
      for char in paren_string:
          if char == ' ':
              continue
          current_group.append(char)
          if char == '(':
              balance += 1
          elif char == ')':
              balance -= 1
              if balance == 0:
                  result.append(''.join(current_group))
                  current_group = []
      
      return result
  