Ok thanks!! The longer version that you wrote is what I am familiar with in code. I have never seen just a type (in this case type FCollisionObjectQuereyParams) used as an argument by itself to a function that takes that type parameter.
Like if I have a function that is defined to take an int you cannot type foo(int) as a valid argument. I guess what you are saying is… because of the enum parameter something magical is happening to initialize a value.