You can do that already using variables.
Or are you wanting solid behavior filtering?
@newt what do you mean by "using variables" ?
Let me give you an example.
I have 100 physics objects and a Ground(immovable physics object).
I separate those objects in two categories, A and B.
I want objects from A to be able to collide with objects from B
I want objects from B to be able to collide with objects from A
I want objects from A and B to be able to collide with the Ground
I want objects from A to not interact with other objects from A
I want objects from B to not interact with other objects from B
How would I do something like that without having a way to filter what objects collide with ?
This is what the Unity engine uses for example
You just have a "Default" tag for all objects and if you want something that does not collide with the default objects, you just make a new tag like "Enemies" and it will only collide with the tags that you want.