There are basically two ways to accomplish what you need.
FIRST WAY
When you need fine-grained dynamic subscriptions and unsubscriptions and want to decouple the life cycle of the items, the strategy to choose is to use one different NonVisualTable for each item. In this ways you will only have
single-item tables and you will be free to add and remove items without impacting existing subscription.
Lightstreamer APIs handle this scenario in a very efficient way too.
This solution implies that you cannot use a group name anymore to subscribe to the items, because you need to give up the concept of group (since items in the same group necessarily share the same life cycle). So you will have to resolve the group through a very traditional request/response call to your web application server (i.e. your web application needs to know the initial list contents).
SECOND WAY
You can use so called
meta-push through a DynaMetapushTable and COMMAND subscription mode. In this way Lightstreamer Server will push commands to the Client in order to dynamically add and remove rows from a table (in this case the whole table will be an item and each row is identified by a key).
For a full example of this strategy, with source code, please refer to the
Portfolio Demo.