One unique architectural benefit of Named Data Networking (NDN) is adaptive forwarding, i.e., the forwarding plane is able to observe data retrieval performance of past Interests and use it to adjust forwarding decisions for future Interests. To be effective, adaptive forwarding assumes Interest Routing Locality, meaning that Interests sharing the same prefix are likely to follow a similar forwarding path within a short period of time. Therefore, past observations can provide insight into how forwarding will likely perform for the same prefix in the near future. Since Interests can have multiple common prefixes with different lengths, the real challenge is determining which prefix length should be used in adaptive forwarding to record path measurements - we refer to this as the Prefix Granularity Problem. The longer the common prefix is, the better Interest Routing Locality. However, finer grained-prefixes cover fewer Interests each and require a larger forwarding table. Existing adaptive forwarding designs use a static prefix length, which is known to encounter issues in the event of partial network failures. In this work, we propose to dynamically aggregate and de-aggregate name prefixes in the forwarding table in order to use the prefixes that are the most appropriate given current network situation. In addition, to reduce the overhead of adaptive forwarding, we propose mechanisms to minimize the use of longest prefix matching during the processing of Data packets. Simulations demonstrate that the proposed techniques can result in better forwarding decisions in the event of partial network failures with significantly reduced overhead.