1. A computer-implemented method for enhancing performance in a multicasting system, the method comprising: monitoring filtering costs in a multicasting system as system characteristics change over time, wherein the multicasting system is operating based on a first mapping, between a plurality of data flows and multicasting groups, to disseminate data to users that subscribe to one or more of data flows, wherein a user is identified by a subscriber node in the multicasting system; computing, using one or more processor, a second mapping in response to determining that overhead associated with filtering of unwanted flows at the user level has exceeded a threshold, wherein the second mapping minimizes weighted sum of the filtering costs for receiving subscribers nodes, during at least one of a fixed mapping period, which is a period when the mapping is not updated, and a transitional mapping period, which is a period updating from a current mapping to a new mapping; and transitioning the multicasting system from using the first mapping to using the second mapping, in response to determining that the second mapping is feasible as applicable to one or more constraints associated with the multicasting system, wherein the second mapping is deemed feasible if selected system resources are not taxed beyond a first threshold and overall transition costs remain below a second threshold; and wherein if the second mapping is deemed not feasible, repeat said monitoring filtering costs, computing second mapping and transitioning from using the first mapping to using the second mapping steps.