I'm attempting to do this w/ a Leonardo - there are two things you need to address:
1 - altering the values in the bootloader that identify it as a Leonardo, i.e. the Vendor ID and Product ID and some of the other info that goes along with this - in other words changing these values in the bootloader source code, recompiling and uploading to the Leonardo (this requires an programmer or another Arduino board)
2 - updating the code in the software that gets loaded when you load a new sketch, also to reflect the kind of device that you want it to appear as.
the code changes aren't too difficult, right now I'm stuck getting my rebuilt bootloader to work, but going to tackle it this weekend again