You're going to get a lot of different suggestions (mq, histedit, import/export) that all essentially do the same thing. And they're all going to feel really clunky because mercurial is built around the concept of an immutable history -- changing history is supposed to be hard. That said, as you correctly understand if you haven't yet pushed the csets it's possible. Here's the procedure I'd use -- I prefer it because it requires enabling no extensions:
hg export --git -o ../all-five-csets.patch 0:tip
cd .. # exit the repo
vi all-five-csets.patch # delete the line manually each time it appears (probably only once)
hg init newrepo
cd newrepo
hg import ../all-five-csets.patch
cd ..
mv repo was-repo
mv newrepo repo
All that's happening there is you're exporting the csets to text representations of themselves. Creating a new, empty repo, and then re-importing the csets. I did all of them because you only have five. If you were looking at altering the last 5 of 500, I would have created the newrepo by doing a clone -r
which clones "up to a point' and then applied the csets I'd left behind in their edited form via import.