How do I spawn a certain amount of enemy ai / It's spawning too many enemy ai's at one time

I want spawn for or five enemy ai. I have the enemy ai’s spawning in the update function because it was didn’t work well in a spawn function I had created only one spawnpoint work . I have two in my scene . I need to slow down the spawning and spawn certain amount in my scene . Have too many enemy ai’s in my scene spawning at the same time . Here my code

using UnityEngine;
   using System.Collections;
   
   public class EnemiesSpawner : MonoBehaviour {
   public GameObject enemy;
   public Transform [] spawnPoints;
   public float spawnTime = 20f;
   public Vector3 spawnValues;
      
       void Start () {
        InvokeRepeating("Spawn", spawnTime, spawnTime); //Calls the "Spawn" function every 10 seconds.
   
       }
       
   
       void Update () {
       
    int spawnPointIndex = Random.Range (0, spawnPoints.Length); for( int spawnCount = spawnPoints.Length - 1 ; spawnCount >= 0 ; --spawnCount )
                    Instantiate(enemy, spawnPoints[spawnPointIndex].position, spawnPoints[spawnPointIndex].rotation);
                     Vector3 spawnPosition = new Vector3 (Random.Range (-spawnValues.x, spawnValues.x), 1, Random.Range (-spawnValues.z, -spawnValues.z) ) ; // <= here

where you looking for something like this?

	public GameObject enemy;

	public Transform[] spawnPoints;

	public Vector3 spawnValues;
	public int howoften = 10;
	public int howmany = 3;
	public float etimer;
	
	
	void Update () {


		
		etimer = etimer - Time.deltaTime;
		if(etimer<0){etimer=howoften;

			int i = howmany;
			while(i>0){i--;

				int spawnPointIndex = Random.Range (0, spawnPoints.Length); 
				
				Instantiate(enemy, 
				            spawnPoints[spawnPointIndex].position, 
				            spawnPoints[spawnPointIndex].rotation);
			}
		}}