Boolean carving usualy leaves you with some cleaning work to do. this is because blender has to subdivide certain edges to create the intended shapes on the whole. This will probably create a lot of triangles for you to clean, and a lot of vertices to merge, and stuff like that. It's not a bad thing, it's just a bit troublesome. I had to use it to make the mouth of a chess Bishop I once modeled. Was a real pain, though.
That's one option. But you have several other options.
You can create a circle with enough sides to fit your mesh perfectly, so that you can then snap the mesh's vertices to the circle's vertices. This is more useful to
rounded surfaces (using the shrink-wrap modifier), where there's other things to consider, but you can use it for this with great results anyway. Just remember that you must prepare the mesh and also make the circle have just the right number of sides to fit the mesh.
You can use the
To Sphere tool. The To Sphere tool moves vertices to form a circle, but if the vertices aren't perfectly aligned and with the same distance between each other the resulting circle won't be perfect (though it can look like it is).
Or you can do it by manualy adjusting vertices. but personaly I'd prefer to go through a bit of more work to make it look as great as it possibly can. But that's me, I'm a perfectionist.
