Destroy multiple GameObjects with tag c#

I have many prefabs that need to be destroyed upon the players death however the gameobjects do not all delete. There are roughly around 10 enemies that need to be destroyed but this code doesn’t seem to have an effect.

void updatelives ()
{
if (lives <= 0)
{
Destroy (GameObject.FindWithTag("Enemy"));
}
}

Try this

 void updatelives ()
 {
 if (lives <= 0)
 {
  GameObject[] enemies = GameObject.FindGameObjectsWithTag("Enemy");
  foreach(GameObject enemy in enemies)
  GameObject.Destroy(enemy);

 }
 }

GameObject.FindWithTag will just find ANY gameobject with that tag.
If you want to destroy EVERY object with a tag you should do:

void DestroyAll(string tag)
    {
        GameObject[] enemies = GameObject.FindGameObjectsWithTag(tag);
        for(int i=0; i< enemies.Length; i++)
        {
            Destroy(enemies*);*

}
}

Why it doesn’t work this way ? @Zoogyburger

  void updatelives ()
  {
  if (lives <= 0)
  {
  while(GameObject.FindWithTag("Enemy") != null) Destroy(GameObject.FindWithTag("Enemy"));

  }
  }

This worked for me, I used this as a method that I called in another method when I wanted the child objects destroyed

public void DestroyObject(GameObject gameObject)
    {
        // compare children of game object
        for (var i = gameObject.transform.childCount - 1; i >= 0; i--)
        {
            // only destroy tagged object
            if (gameObject.transform.GetChild(i).gameObject.tag == "insertTagHere")
            Destroy(gameObject.transform.GetChild(i).gameObject);
        }
    }