input: from typing import List
  
  def extract_parenthesis_groups(paren_string: str) -> List[str]:
      """The function takes a string containing numerous nested parentheses groups. The objective is to split those groups into individual strings and return them as a list. Each group is balanced and not nested within any other groups. Spaces in the input string should be disregarded.
      >>> extract_parenthesis_groups('( ) (( )) (( )( ))')
      ['()', '(())', '(()())']
      """
output:     result = []
      current_group = []
      depth = 0
  
      for char in paren_string:
          if char == '(':
              if depth == 0:
                  current_group = []
              depth += 1
          if char == ')':
              if depth == 1:
                  current_group.append(char)
                  result.append(''.join(current_group))
                  current_group = []
              depth -= 1
          if char in '()':
              current_group.append(char)
      
      return result