In order to understand the wildcard converting methods to functions (called eta-expansion) we need to understand that Scala views named methods (such as maximize) and functions (all declared as FunctionN in Scala, e.g Function1, Function2, etc) differently. The former doesn't actually have a value type. In the Scala Specification, they are listed under Non Value Types:
The types explained in the following do not denote sets of values, nor do they appear explicitly in programs. They are introduced in this report as the internal types of defined identifiers.
Since named methods don't have a value, Scala uses a convince syntax with the _ wildcard after the named method do convert it to a method value, which is one of the FunctionN family. There also exists implicit conversions when assigning a method to a value:
Method types do not exist as types of values. If a method name is used as a value, its type is implicitly converted to a corresponding function type.
Now that we have that covered, it rather simple to analyze the type you're seeing'
scala> def max = maximize _
max: (Int, Int) => Int
What you've done here is convert maximize from a non value method type to a method value of type Function2, which accepts two Int values and returns an Int.
scala> def m = max _
m: () => (Int, Int) => Int
Now, since max is already a Function2 and we're creating yet another method value, we actually get a Function0[Function2[Int, Int, Int], which is a function that generates yet another function and accepts no arguments and returns the former method.
If you're interested in a more in depth explanation, see Difference between method and function in Scala