Can only Attack one Enemy type

The problem I have is, that I can only damage on enemy Type when melee attacking

}
void Attack()
    {
        Collider2D[] hitEnemies = Physics2D.OverlapCircleAll(attackPoint.position, attackRange, enemyLayers);
        foreach(Collider2D enemy in hitEnemies)
        {
            enemy.GetComponent<Enemy1>().TakeDamage(attackDamage);    
            enemy.GetComponent<Enemy2>().TakeDamage(attackDamage);
        }
    }
}

If each enemy only has one of the two scripts, you can’t call both GetComponents. Here are some alternatives:

 if(enemy.TryGetComponent(out Enemy1 hitEnemy))
 { hitEnemy.TakeDamage(attackDamage);}
 else if(enemy.TryGetComponent(out Enemy2 hitEnemy))
 { hitEnemy.TakeDamage(attackDamage);}

or

   if(enemy.GetComponent<Enemy1>() != null)
   {enemy.GetComponent<Enemy1>().TakeDamage(attackDamage);}
   else if(enemy.GetComponent<Enemy2>() != null)
   {enemy.GetComponent<Enemy2>().TakeDamage(attackDamage);}