well, doing it by category will be problematic in that the category value will change.
if you only want to do it for a single category, then that will be OK, but if you wanted to do it by multiple categories, that is where it becomes problematic.
What you have set up will work for the single category instance, but if that changes down the road, that is where it will become problematic.