All enemies destroyed when only one gets hit.

I am trying to implement a new attack into my project. I can get the projectile to spawn and deal damage to an enemy, however, once it deals damage, every enemy gets destroyed instead of just the one that was hit. I am not using any static variables and I cannot figure out why this issue is happening.

Here is the projectile script:

public GameObject HeavyExplosion;
public GameObject LightExplosion;

public float HeavyMissileSpeed = 1;
public float LightMissileSpeed = 1;
public float HeavyLaserSpeed;
public float LightLaserSpeed;
public float HeavyBulletSpeed;
public float LightBulletSpeed;
Rigidbody RB;

public int HeavyMissileDamage;
public int LightMissileDamage;
public int HeavyLaserDamage;
public int LightLaserDamage;
public int HeavyBulletDamage;
public int LightBulletDamage;
public float ProjectileTimeout;
float TimeElapsed;

bool HasExploded;

void Start()
{
    RB = gameObject.GetComponent<Rigidbody>();
    HasExploded = false;
}

void Update()
{
    TimeElapsed += Time.deltaTime;
    if(TimeElapsed >= ProjectileTimeout)
    {
        Destroy(gameObject);
    }
}

void FixedUpdate()
{
    if (gameObject.CompareTag("HeavyMissile") && !HasExploded)
    {
        RB.velocity = HeavyMissileSpeed * gameObject.transform.forward;
    }
    if (gameObject.CompareTag("LightMissile") && !HasExploded)
    {
        RB.velocity = LightMissileSpeed * gameObject.transform.forward;
    }
    if (gameObject.CompareTag("HeavyLaser"))
    {
        RB.velocity = HeavyLaserSpeed * gameObject.transform.forward;
    }
    if (gameObject.CompareTag("LightLaser"))
    {
        RB.velocity = LightLaserSpeed * gameObject.transform.forward;
    }
    if (gameObject.CompareTag("HeavyBullet"))
    {
        RB.velocity = HeavyBulletSpeed * gameObject.transform.forward;
    }
    if (gameObject.CompareTag("LightBullet"))
    {
        RB.velocity = LightBulletSpeed * gameObject.transform.forward;
    }
}

private void OnCollisionEnter(Collision collision)
{
    if (collision.gameObject.CompareTag("Enemy") && gameObject.CompareTag("HeavyMissile"))
    {
        collision.transform.parent.GetComponent<EnemyHealth>().DealDamage(HeavyMissileDamage);
        GetComponent<MeshRenderer>().enabled = false;
        GetComponent<Collider>().enabled = false;
        RB.velocity = new Vector3(0, 0, 0);
        Instantiate(HeavyExplosion, transform);
        HasExploded = true;
        Destroy(gameObject, 1);
    }
    else if (collision.gameObject.CompareTag("Enemy") && gameObject.CompareTag("LightMissile"))
    {
        collision.transform.parent.GetComponent<EnemyHealth>().DealDamage(LightMissileDamage);
        GetComponent<MeshRenderer>().enabled = false;
        GetComponent<Collider>().enabled = false;
        RB.velocity = new Vector3(0, 0, 0);
        Instantiate(LightExplosion, transform);
        HasExploded = true;
        Destroy(gameObject, 1);
    }
    else if (collision.gameObject.CompareTag("Enemy") && gameObject.CompareTag("HeavyLaser"))
    {
        collision.transform.parent.GetComponent<EnemyHealth>().DealDamage(HeavyLaserDamage);
        Destroy(gameObject);
    }
    else if (collision.gameObject.CompareTag("Enemy") && gameObject.CompareTag("LightLaser"))
    {
        collision.transform.parent.GetComponent<EnemyHealth>().DealDamage(LightLaserDamage);
        Destroy(gameObject);
    }
    else if (collision.gameObject.CompareTag("Enemy") && gameObject.CompareTag("HeavyBullet"))
    {
        collision.transform.parent.GetComponent<EnemyHealth>().DealDamage(HeavyBulletDamage);
        Destroy(gameObject);
    }
    else if (collision.gameObject.CompareTag("Enemy") && gameObject.CompareTag("LightBullet"))
    {
        collision.transform.parent.GetComponent<EnemyHealth>().DealDamage(LightBulletDamage);
        Destroy(gameObject);
    }
    else
    {
        Destroy(gameObject);
    }
}
private void OnTriggerEnter(Collider other)
{
    if (other.CompareTag("Enemy") && gameObject.CompareTag("HeavyMissile"))
    {
        other.transform.parent.GetComponent<EnemyHealth>().DealDamage(HeavyMissileDamage);
        GetComponent<MeshRenderer>().enabled = false;
        GetComponent<Collider>().enabled = false;
        RB.velocity = new Vector3(0, 0, 0);
        Instantiate(HeavyExplosion, transform);
        HasExploded = true;
        Destroy(gameObject, 1);
    }
    else if (other.CompareTag("Enemy") && gameObject.CompareTag("LightMissile"))
    {
        other.transform.parent.GetComponent<EnemyHealth>().DealDamage(LightMissileDamage);
        GetComponent<MeshRenderer>().enabled = false;
        GetComponent<Collider>().enabled = false;
        RB.velocity = new Vector3(0, 0, 0);
        Instantiate(LightExplosion, transform);
        HasExploded = true;
        Destroy(gameObject, 1);
    }
    else if (other.CompareTag("Enemy") && gameObject.CompareTag("HeavyLaser"))
    {
        other.transform.parent.GetComponent<EnemyHealth>().DealDamage(HeavyLaserDamage);
        Destroy(gameObject);
    }
    else if (other.CompareTag("Enemy") && gameObject.CompareTag("LightLaser"))
    {
        other.transform.parent.GetComponent<EnemyHealth>().DealDamage(LightLaserDamage);
        Destroy(gameObject);
    }
    else if (other.CompareTag("Enemy") && gameObject.CompareTag("HeavyBullet"))
    {
        other.transform.parent.GetComponent<EnemyHealth>().DealDamage(HeavyBulletDamage);
        Destroy(gameObject);
    }
    else if (other.CompareTag("Enemy") && gameObject.CompareTag("LightBullet"))
    {
        other.transform.parent.GetComponent<EnemyHealth>().DealDamage(LightBulletDamage);
        Destroy(gameObject);
    }
}

}

Here is the enemy health script:

    public int MaxHealth = 1;
    int HP;

    public GameObject Explosion;
    public EnemySpawnerEternal SpawnReference { get; set; }

    void Awake()
    {
        HP = MaxHealth;
    }

    public void DealDamage(int Damage)
    {
        HP -= Damage;
        if(HP <= 0)
        {
            if(SpawnReference != null)
            {
                SpawnReference.ResartSpawner();
            }
            GameObject.Instantiate(Explosion, transform.position, Quaternion.identity);
            Destroy(gameObject);
        }
    }
}

You should post the entire scripts. Also, to avoid bugs it should be

collision.gameObject.GetComponent<EnemyHealth>().DealDamage(HeavyMissileDamage);