How to Create an Object Inspector type Editor

I wrote a little program some time ago that uses a StringGrid with a
floating Combobox to enter/view data for a semi-complex record structure.
As I think about it, a better approach to look at and change data would be a
form that looks like Delphi's object inspector.  Are there any
"TObjectInspector" components out there?

One other question:

If I create an enumeration type like TMyType = (mtOne, mtTwo, mtThree) - is
there an easy way to convert the enumeration to a string representation

MyType := mtOne;

Thanks in advance.