On 27th June 2017, [Spencer Foo signed with the Calgary Flames as a "college free agent"](http://calgaryherald.com/sports/hockey/nhl/calgary-flames/flames-land-hobey-baker-finalist-spencer-foo). My naive understanding of the NHL was that entry-level players came in via two routes:

* Either they are drafted, giving them no choice as to which team to play for.
* Or they're not drafted, and can sign with whichever team they can persuade to pay them.

However, it seems unlikely to me that Foo would not have been drafted as he was a finalist for the [Hobey Baker Award](https://en.wikipedia.org/wiki/Hobey_Baker_Award). How does a good player get to be a "college free agent" and apparently choose which team to play for?

(Feel free to use Foo for specifics in the answer, but interested in the general case).