You can obtain just the field you are interested in by using bag projection:
proj = FOREACH grpdata GENERATE group, data.item;
This will give you
1 {(i1),(i2),(i3)}
2 {(i2),(i5),(i6)}
3 {(i1),(i4)}
Unfortunately, there is no built-in capability to fiddle with the way a bag is serialized into a string. You will need to write a UDF that does that piece for you.