how i can Get component in FindGameObjectsWithTag ???

I want to getcomponent from a lot of enemy,
if just 1 enemy :

GameObject enemy;
	enemyScript EnemyScript;

	void Start () 
	{
		enemy = GameObject.FindGameObjectWithTag ("enemy");
		EnemyScript = enemy.GetComponent <enemyScript > ();
	}

But i need more enemy, so how i can use FindGameObjectWithTag??

public GameObject [] enemy;
	enemyScript EScript;

	void Start () 
	{
		GameObject[] enemy = GameObject.FindGameObjectsWithTag ("Ghoul");
		EScipt = enemy.GetComponent<enemyScript> ();
		//This is wrong, but how i can make it better,,
	}

Once you have the array, probably looking to just loop through them:

     void Start () 
     {
         GameObject[] enemy = GameObject.FindGameObjectsWithTag ("Ghoul");
         foreach(GameObject oneEnemy in enemy)
         {
                 Escript = oneEnemy.GetComponent<enemyScript> ();
                 // do something with Escript etc
         }
        
     }

I know this answer is a bit late but a more update to answer to this could be something like this which is fewer lines of code but don’t know if this is the most efficient way to do this.

List<enemyScript> players = GameObject.FindGameObjectsWithTag("Ghoul").Select(obj => obj.GetComponent<enemyScript>()).ToList();