Personally, I wouldn't use a Group box for this, I'd probably use a panel. But, all the same, GroupBoxes will work.
I created a new form, and dropped two group boxes on to it.
Each box got a button.
private void button1_Click(object sender, EventArgs e)
{
groupBox1.Visible = false;
groupBox2.Visible = true;
}
private void button2_Click(object sender, EventArgs e)
{
groupBox1.Visible = true;
groupBox2.Visible = false;
}
As expected it worked fine.
What I supect you have done is created your group boxes, populated them, and dragged them so they all overlap. What you have actually done is made your boxes contain each other - you have dropped a group box onto another.
Go back to design mode, and separate them so they are all sitting on the form separately. Now change each of them so that Dock Property is set to Fill. It will work - but you would still be better with either tab pages or panels IMHO.